﻿using Abp.Application.Services.Dto;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace shenghua.Commodity.Commodities.Dto
{
    public class RealCommodityDto : EntityDto
    {
        public int CommodityId { get; set; }
        public string CommodityName { get; set; }
        public int? ShoppingOptionId { get; set; }
        public bool Shelved { get; set; }
        public bool IsRecommended { get; set; }
        public bool IsEnabledShoppingOption { get; set; }
        public bool HasSalesPromotion { get; set; }
        public string PromotionName { get; set; }
        public DateTime? PromotionEndTime { get; set; }
        public bool IsForMember { get; set; }
        public long MemberId { get; set; }
        public bool IsCollected { get; set; }
        public double Price { get; set; }
        public double MaxPrice { get; set; }
        public double MinPrice { get; set; }
        public bool Discountable { get; set; }
        public double DiscountPrice { get; set; }
        public double Discount { get; set; }
        public double PromotionPrice { get; set; }
        public double OriginalPrice { get; set; }
        public int XPValue { get; set; }
        public int Inventory { get; set; }
        public int MinLimitCount { get; set; }
        public int MaxLimitCount { get; set; }
        public string Picture { get; set; }
        public List<string> Pictures { get; set; }
        public Dictionary<string, string> ShoppingOptionParameters { get; set; }

        public RealCommodityDto()
        {

        }

        public RealCommodityDto(RealCommodity input)
        {
            CommodityId = input.CommodityId;
            CommodityName = input.CommodityName;
            ShoppingOptionId = input.ShoppingOptionId;
            Shelved = input.Shelved;
            IsRecommended = input.IsRecommended;
            IsEnabledShoppingOption = input.IsEnabledShoppingOption;
            HasSalesPromotion = input.HasSalesPromotion;
            PromotionName = input.PromotionName;
            PromotionEndTime = input.PromotionEndTime;
            IsForMember = input.IsForMember;
            MemberId = input.MemberId;
            IsCollected = input.IsCollected;
            Price = input.Price;
            MaxPrice = input.MaxPrice;
            MinPrice = input.MinPrice;
            Discountable = input.Discountable;
            DiscountPrice = input.DiscountPrice;
            Discount = input.Discount;
            PromotionPrice = input.PromotionPrice;
            OriginalPrice = input.OriginalPrice;
            XPValue = input.XPValue;
            Inventory = input.Inventory;
            MinLimitCount = input.MinLimitCount;
            MaxLimitCount = input.MaxLimitCount;
            Picture = input.Picture;
            Pictures = input.Pictures;
            ShoppingOptionParameters = input.ShoppingOptionParameters;
        }
    }
}
